package com.itheima.homework;

/*
有一个很有名的数学逻辑题叫做不死神兔问题。
有一对兔子，从出生后第3个月起每个月都生一对兔子，小兔子长到第三个月后每个月又生一对兔子，
假如兔子都不死，问第二十个月的兔子对数为多少？

    第一个月兔子对数:   1           arr[0] = 1
    第二个月兔子对数:   1           arr[1] = 1
    第三个月兔子对数:   2           arr[2] = arr[0] + arr[1];
    第四个月兔子对数:   3           arr[3] = arr[1] + arr[2];
    第五个月兔子对数:   5
    第六个月兔子对数:   8
    ....

    规律: 从第三个月开始, 每个月兔子的对数 = 前两个月的兔子对数的和

 */
public class Homework10 {
    public static void main(String[] args) {
        //1. 定义一个数组,用来维护每个月的兔子对数
        int[] arr = new int[20];

        //2. 将0索引和1索引位置的元素进行赋值,表示前两个月的兔子对数
        arr[0] = 1;
        arr[1] = 1;

        //3. 变量数组,根据数学规律,将后面每个索引位置的元素值进行推导计算
        for (int i = 2; i < arr.length; i++) {
            arr[i] = arr[i - 1] + arr[i - 2];
        }

        //4. 第20个月的兔子对数,其实就是输出arr[19]
        System.out.println("第二十个月的兔子对数为:"+arr[19]);
    }
}
